home *** CD-ROM | disk | FTP | other *** search
- /*****************************************************************************
- *
- * Nom: tracewin.c
- * Desc: fonctions de traçage dans les fenetres
- *
- *
- * version : $VER: tracewin.c 1.2 (08.02.98)
- *****************************************************************************
- */
- #include <proto/graphics.h>
- #include <math.h>
- #include "utils.h"
-
-
- void initwin(idWin * prj) {
- int i ;
- ULONG mX, mY ;
- mX = prj->backWin.width / 2 ;
- mY = prj->backWin.height / 2 ;
- SetAPen(prj->win->RPort, prj->backWin.back) ; // couleur fond
- RectFill(prj->win->RPort, 0, 0, prj->backWin.width - 1,
- prj->backWin.height - 1) ;// trace le fond
- SetAPen(prj->win->RPort, 7) ; // couleur jaune
- for(i = 0; i < 360; i=i+30) {
- /* trace les repères des heures
- */
- Move(prj->win->RPort, ULONG(cos(PI*i/180.0) * (mX-mX/10L)) + mX, ULONG(sin(PI*i/180.0) * (mX-mX/10L)) + mY) ;
- Draw(prj->win->RPort, ULONG(cos(PI*i/180.0) * mX) + mX, ULONG(sin(PI*i/180.0) * mY) + mY) ;
- }
- }
-
- void effacer(idWin * prj) {
- ULONG mX, mY ;
- mX = prj->backWin.width / 2 ;
- mY = prj->backWin.height / 2 ;
- SetAPen(prj->win->RPort, prj->backWin.back) ; // couleur fond
- /* efface les heures
- */
- Move(prj->win->RPort, mX,mY) ;
- Draw(prj->win->RPort, mX+(ULONG)(cos(PI*((prj->oldH)*30.0-90.0 + (prj->oldM)/2.0)/180.0)*(mX-mX/2L)),mY+(ULONG)(sin(PI*((prj->oldH)*30.0-90.0 + (prj->oldM)/2.0)/180.0)*(mY-mY/2L))) ;
- /* efface les minutes
- */
- Move(prj->win->RPort, mX,mY) ;
- Draw(prj->win->RPort, mX+(ULONG)(cos(PI*((prj->oldM)*6.0-90.0)/180.0)*(mX-mX/3L)), mY+(ULONG)(sin(PI*((prj->oldM)*6.0-90.0)/180.0)*(mY-mY/3L))) ;
- /* efface les secondes
- */
- Move(prj->win->RPort, mX,mY) ;
- Draw(prj->win->RPort, mX+(ULONG)(cos(PI*((prj->oldS)*6.0-90.0)/180.0)*(mX-mX/4L)), mY+(ULONG)(sin(PI*((prj->oldS)*6.0-90.0)/180.0)*(mY-mY/4L))) ;
- }
- void retracer(idWin * prj) {
- ULONG mX, mY ;
- mX = prj->backWin.width / 2 ;
- mY = prj->backWin.height / 2 ;
- SetAPen(prj->win->RPort, 1) ; // noir
- /* trace les heures
- */
- Move(prj->win->RPort, mX,mY) ;
- Draw(prj->win->RPort, mX+(ULONG)(cos(PI*( (prj->heu)*30.0-90.0 + (prj->min)/2.0) /180.0)*(mX-mX/2L)), mY+(ULONG)(sin(PI*((prj->heu)*30.0-90.0 + (prj->min)/2.0)/180.0)*(mY-mY/2L))) ;
- /* trace les minutes
- */
- Move(prj->win->RPort, mX,mY) ;
- Draw(prj->win->RPort, mX+(ULONG)(cos(PI*((prj->min)*6.0-90.0)/180.0)*(mX-mX/3L)), mY+(ULONG)(sin(PI*((prj->min)*6.0-90.0)/180.0)*(mY-mY/3L))) ;
- /* trace les secondes
- */
- Move(prj->win->RPort, mX,mY) ;
- Draw(prj->win->RPort, mX+(ULONG)(cos(PI*((prj->sec)*6.0-90.0)/180.0)*(mX-mX/4L)), mY+(ULONG)(sin(PI*((prj->sec)*6.0-90.0)/180.0)*(mY-mY/4L))) ;
- }
-
-